home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #6 / Amiga Plus CD - 1996 - No. 06.iso / pd / musik / thx-sound / thx-replayer.doc < prev    next >
Text File  |  1992-09-02  |  4KB  |  96 lines

  1. ;-------------------T-----------T-----------------T---------T---------------
  2.  
  3. ;=============================================================================
  4. ;=============================================================================
  5. ;===================== t h x - s o u n d   s y s t e m =======================
  6. ;=============================================================================
  7. ;================= b i n a r y - r e p l a y e r   d o c u ===================
  8. ;=============================================================================
  9. ;=============================================================================
  10. ;========================= v e r s i o n   1 . 0 0 ===========================
  11. ;=============================================================================
  12. ;=============================================================================
  13.  
  14. Sorry for that old replayer-how-to-use-file, it shouldn't be released the way
  15. it was, someone forgot to finish this file (it was only some brainstorming),
  16. and it was not me!   -dexter
  17.  
  18. How to use the replayer in my own productions ??
  19.  - Here we go (take a look at the example source!)
  20.  
  21. 1. Include the "THX-Offsets.I" file
  22. 2. Include the "THX-Replayer.BIN" file (100% pc-relative) <needn't be chip>
  23. 3. Call the following procedures as described:
  24.    for example: jsr thxReplayer+thxInitPlayer
  25.                 jsr thxReplayer+thxInitModule (or BSR if in the same section!)
  26. 4. To access e.g. the volume etc. (the thx_p... variables as seen in the
  27.    "THX-Offsets.I" file), proceed like this: (access them by byte!)
  28.  
  29. ;---- thxGetSubsongs
  30. ;thxGetSubsongs movem.l     a6,-(sp)
  31. ;               move.l      thxReplayer+thxBSS_P(pc),a6  ;get ptr to
  32. ;               moveq       #0,d0                        ;players public
  33. ;               move.b      thx_pSubsongs(a6),d0         ;memory
  34. ;               movem.l     (sp)+,a6                     ;and get nr. of
  35. ;               RTS                                      ;subsongs from there
  36.  
  37.    You may then also set the thx_pPlaying flag to non-0 if the immediate play
  38.    value was set to non-zero in thxInitSubSong or you may set the volume, get
  39.    your external timing (if you read out the ext. timing value, be sure to
  40.    clear the BYTE after reading it!) or see if the song has reached its end.
  41.  
  42. 5. That's it, now some technical information!
  43.  
  44.  
  45.  
  46. ;            ----==== a Little Function-Overview ====----
  47.  
  48.  
  49. ;---- thxInitPlayer
  50. ;
  51. ; Inputs: a0: pointer to 7854 bytes of public (fast) memory
  52. ;         a1: pointer to 2560 bytes of explicit chip memory
  53. ;      or a null-pointer (sub.l a0,a0 and/or sub.l a1,a1) for auto-allocation!
  54. ;
  55. : Function: Will precalc the few waveforms and (if a0/a1 = 0) allocate
  56. ;           player's memory-blocks (auto-allocation is recommended!)
  57.  
  58.  
  59. ;---- thxInitModule
  60. ;
  61. ; Inputs: a0: pointer to a THX-Module
  62. ;
  63. ; Output: d0: non-zero (-1) for failure, zero (0) for no error!
  64. ;
  65. ; Function: Initializes the THX-Module given
  66.  
  67.  
  68. ;---- thxInitSubSong
  69. ;
  70. ; Inputs: d0: subsong number (0 means main tune, 1 means first subsong etc.)
  71. ;         d1: immediate play (zero means immediately play when thxInterrupt is
  72. ;                             called, non-zero means wait until thx_pPlaying
  73. ;                             flag is set to non-zero) normally use 0 here!
  74. ;
  75. ; Function: Initializes the subsong given
  76.  
  77.  
  78. ;---- thxInterrupt
  79. ;
  80. ; Function: Plays 1/50 of a second, so you'll have to call it every 1/50 sec.!
  81. ;           If possible, use cia (not thxInitCIA, as it's not yet implemented)
  82.  
  83.  
  84. ;---- thxStopSong
  85. ;
  86. ; Function: Stops the current playing song.
  87.  
  88.  
  89. ;---- thxKillPlayer
  90. ;
  91. ; Function: Shuts down the audio-channels and deallocates the two memory
  92. ;           blocks as long as they were allocated by thxInitPlayer itsself!
  93.  
  94.  
  95. ; Take a look at the example source!!      - dexter/abyss! signing off!
  96.